[% setvar title The Perl 6 Summary of the week ending 20031019 %]
<div id="archive-notice">
    <h3>This file is part of the Perl 6 Archive</h3>
    <p>To see what is currently happening visit <a href="http://www.perl6.org/">http://www.perl6.org/</a></p>
</div>
<div class='pod'>
<a name='The Perl 6 Summary of the week ending 20031019'></a><h1>The Perl 6 Summary of the week ending 20031019</h1>
<p>Lumme! Another week, another summary.</p>
<p>Every week (almost) we start with the perl6-internals list, so here goes.</p>
<a name='An Evil task for the interested'></a><h2>An Evil task for the interested</h2>
<p>Our Glorious Leader, Dan Sugalski, last week asked for volunteers to
work on making ordered destruction work. (Ordered destruction is
where the system tries to ensure that 'parent' objects get destroyed
before any of their children). Jeff Clites announced that he'd got a
partial implementation working.</p>
<p>Neither Leo T&ouml;tsch nor J&uuml;rgen B&ouml;mmels were sure
that the approach Jeff was taking would be the Right Thing in the
long run, proposing instead a more general iterator mechanism.</p>
<p><a href='http://groups.google.com/groups?threadm=6E7C8CAE-FD5E-11D7-98E2-000393A6B9DA@mac.com' target='_blank'>groups.google.com</a></p>
<a name='Perl 6 Sub calling'></a><h2>Perl 6 Sub calling</h2>
<p>Bringing the perl6 compiler (in <b><i>languages/</i></b> back to live, Steve
Fink has committed a 'rather large' patch which implements a subset
of the Apocalypse 6 subroutine signature rules. The implementation is
apparently very ad hoc and shouldn't be regarded as the final
word. But it looks like a very good start to me.</p>
<p><a href='http://groups.google.com/groups?threadm=20031013171844.GG1892@foxglove' target='_blank'>groups.google.com</a></p>
<a name='Website timeliness'></a><h2>Website timeliness</h2>
<p>Responding to Matt Fowles' observation that the parrot website is
rather behind the times, Robert Spier let slip that there would soon
be a revised website that will be easy for everyone to send patches
to, and which would be much easier to have multiple maintainers of
different areas of the site.</p>
<p>Of course, there are still a few 'technical chunks' that need to get
finished before it's ready to unveil, but it's good to know that work
continues in this area. Thanks Robert.</p>
<p><a href='http://groups.google.com/groups?threadm=courier.3F8B0F04.0000420E@softhome.net' target='_blank'>groups.google.com</a></p>
<p><a href='http://www.vendian.org/parrot/wiki/bin/view.cgi' target='_blank'>www.vendian.org</a> -- Mike Scott's Parrot Wiki</p>
<a name='Dynamic oplibs'></a><h2>Dynamic oplibs</h2>
<p>Chances are, you've never really needed a <code>fortytwo</code> operator, or
even a <code>what_do_you_get_if_you_multiply_six_by_nine</code> operator, and
you certainly don't need them cluttering up the parrot core. Which is
why Leo T&ouml;tsch has implemented those ops as a dynamically
loadable ops library.</p>
<p>Admittedly, you're highly unlikely to load this particular ops
library, but the underpinning tools for dynamic loading of ops
libraries are new and potentially very useful.</p>
<p>Rather later in the week, once he'd got dynamic loading of ops
working in all the runtime cores, Leo posted an 'intermediate
summary' which explains how things work.</p>
<p><a href='http://groups.google.com/groups?threadm=3F8BEBDE.1050405@toetsch.at' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?threadm=3F8EBBEE.5030704@toetsch.at' target='_blank'>groups.google.com</a></p>
<a name='Oplips, pmclibs, function libs'></a><h2>Oplips, pmclibs, function libs</h2>
<p>Dan has been thinking about the problems that can arise with dynamic
loading. One issue is that, if you have separate files for each PMC
class, opcode library and parrot function library, things get
unwieldy very quickly, and if you're not careful you'll exhaust the
OS file descriptor pool. Which would be bad. So, he asked for a
sanity check before going on to work out a scheme for bundling
libraries into larger files. Leo agreed that Dan was talking sense,
so I expect we'll be seeing some design in this area soon.</p>
<p><a href='http://groups.google.com/groups?threadm=Pine.LNX.4.58.0310140916100.15234@sprite.sidhe.org' target='_blank'>groups.google.com</a></p>
<a name='Instantiating objects'></a><h2>Instantiating objects</h2>
<p>It's been a busy week on the parrot front for Dan. On Wednesday he
outlined his thinking on instantiating objects, with the aim of
getting single inheritance objects up and running. This sparked a
good deal of discussion, but nothing was actually agreed.</p>
<p><a href='http://groups.google.com/groups?threadm=Pine.LNX.4.58.0310151125550.4672@sprite.sidhe.org' target='_blank'>groups.google.com</a></p>
<a name='Redoing IMCC macros'></a><h2>Redoing IMCC macros</h2>
<p>Surprisingly, J&uuml;rgen B&ouml;mmels opened up a can of worms
when he redid IMCC's macro support to use a hash lookup instead of a
linear search through an array. This sparked a good deal of
discussion about the right scoping, which hash implementation to use,
and whether IMCC should be closely entwined with the interpreter.</p>
<p><a href='http://groups.google.com/groups?threadm=rt-24224-66091.17.3048638038286@rt.perl.org' target='_blank'>groups.google.com</a></p>
<a name='Fixed opcode numbering infrastructure'></a><h2>Fixed opcode numbering infrastructure</h2>
<p>Dan checked in a patch to fix opcode numbers for the core ops,
deliberately breaking the JIT in the process. Leo wasn't happy. After
a bit of back and forth, we now have fixed opcodes, but the
implementation isn't quite what Dan originally did.</p>
<p>There was also some discussion of how many opcodes really needed to be
fixed; after all, in the presence of dynamically loaded oplibs, you
can't nail every opcode down. Leo worried that dynamically loaded
oplibs don't play well with JIT, and making it work would probably
need a total rewrite of the JIT core, but J&uuml;rgen didn't think
it was all that bad.</p>
<p><a href='http://groups.google.com/groups?threadm=Pine.LNX.4.58.0310161200090.777@sprite.sidhe.org' target='_blank'>groups.google.com</a></p>
<a name='Applying the Pumpking Patch'></a><h2>Applying the Pumpking Patch</h2>
<pre>    $ patch RESPONSIBLE_PARTIES 
    6c6
    &lt; Release pumpking              Steve Fink
    ---
    &gt; Release pumpking              Leopold Toetsch</pre>
<p>In other words, Steve Fink has stepped down from the r&ocirc;le of
Parrot Pumpking and handed the his mantle on to Leo &quot;Pumpking
Patchmonster&quot; T&ouml;tsch. I'm sure I'm not alone in wishing to thank
Steve for his sterling work as our release manager. Nor, I'm sure, am
I alone in wondering where Leo finds the time.</p>
<p><a href='http://groups.google.com/groups?threadm=Pine.LNX.4.58.0310171119460.10277@sprite.sidhe.org' target='_blank'>groups.google.com</a></p>
<a name='Bounds checking in extension API'></a><h2>Bounds checking in extension API</h2>
<p>Simon Glover wanted to know what sort of bounds checking was/will be
done by the extension API's register access functions. At the time of
his writing they didn't do any, which meant you could trivially cause
a buffer overflow in your extension by accessing an illegal register
number, like 42. Dan said that what needed to happen is for the
access functions to do bounds checking and to throw an exception on
an illegal register number. Which wasn't quite as straightforward as
he thought.</p>
<p><a href='http://groups.google.com/groups?threadm=Pine.LNX.4.44.0310171334490.4564-100000@nevis.internal.amnh.org' target='_blank'>groups.google.com</a></p>
<a name='Meanwhile, in perl6-language-subs'></a><h1>Meanwhile, in perl6-language-subs</h1>
<p>What's that you say? You've never heard of perl6-language-subs? Shame
on you. Actually, I'd forgotten about perl6-language-subs but,
judging by the messages I've seen on the list since I started writing
the summaries, it would appear that it's a mailing list where
students can ask the Perl 6 community to do their computer science
homework for them. I don't expect to be covering this list any
further.</p>
<a name='Meanwhile, in perl6-language'></a><h1>Meanwhile, in perl6-language</h1>
<a name='The Wall Returns'></a><h2>The Wall Returns</h2>
<p>Larry returned from what sounds like a horrible couple of months in
hospital and answered Luke Palmer's awkward question about block
returns from a couple of weeks ago.</p>
<p><a href='http://groups.google.com/groups?threadm=20031016003050.GA7845@wall.org' target='_blank'>groups.google.com</a></p>
<a name='Acknowledgements, Announcements, Apologies'></a><h1>Acknowledgements, Announcements, Apologies</h1>
<p>Tuesday is no longer the new Monday. Wednesday is the new new Monday.</p>
<p>If you found this summary valuable, you might like to consider one or
more of:</p>
<ul>
<li><a name='Get involved. Parrot (and Perl 6) needs programmers, authors, users and other interested parties. Join the mailing lists and start to contribute. (Check dev.perl.org/perl6/ and www.parrotcode.org/ as good starting points).'></a>Get involved. Parrot (and Perl 6) needs programmers, authors, users
and other interested parties. Join the mailing lists and start to
contribute. (Check <a href='http://dev.perl.org/perl6/' target='_blank'>dev.perl.org</a> and
<a href='http://www.parrotcode.org/' target='_blank'>www.parrotcode.org</a> as good starting points).</li>
<li><a name='Support Larry, Dan, Damian and company by donating to the Perl Foundation at donate.perl-foundation.org/. I hate to think what the Wall family medical bills must be like at the moment.'></a>Support Larry, Dan, Damian and company by donating to the Perl
Foundation at <a href='http://donate.perl-foundation.org/.' target='_blank'>donate.perl-foundation.org</a> I hate to think
what the Wall family medical bills must be like at the moment.</li>
<li><a name='Give me lots of lovely feedback at p<a href='mailto:6summarizer@bofh.org.uk'>6summarizer@bofh.org.uk</a>, you know you want to.'></a>Give me lots of lovely feedback at <i><a href='http://search.cpan.org/perldoc?<a href='mailto:p6summarizer@bofh.org.uk'>p6summarizer@bofh.org.uk</a>'>p<a href='mailto:6summarizer@bofh.org.uk'>6summarizer@bofh.org.uk</a></a></i>, you
know you want to.</li>
</ul>
</div>
